package com.cw.DesignModel23.Ceational.BuilderPattern.builder3;

/**
 * 盖房子需求
 * 房子有多种类型，比如普通房，高楼，别墅，建房子的过程包括打桩、砌墙、封顶多个步骤，不同类型的房子建造的流程差不多，但是里面的方法有所差异
 *
 * 分析
 * 优点：比较好理解，简单易操作
 * 缺点：程序结构过于简单，没有设计缓存层对象，程序的扩展和维护不好。这种设计方案，把产品(即:房子) 和 创建产品的过程(即:建房子流程) 封装在一起，耦合性增强了
 * 改进：使用建造者模式，将产品和产品建造过程解耦
 */
public class Client {

    public static void main(String[] args) {
        CommonHouse commonHouse = new CommonHouse();
        commonHouse.build();
        System.out.println("-------------------------------------------------------------------------------------------------------");
        HignBuilding highBuilding = new HignBuilding();
        highBuilding.build();
    }

}

